// var obj1 = {}
// var obj2 = new Object()
// function Person(){

// }

// var p = new Person()
// 1.在内存中创建一个对象，var moni = {} 2.this的赋值 3.将Person函数的显示原型proyotype赋值给前面创建出来的对象的隐式原型
//  moni.__proto__ = Person.prototype

var obj ={
    name : "why",
    age:18
}

// console.log(obj.__proto__)
// console.log(Object.prototype)
// console.log(Object.prototype.constructor)
// console.log(Object.getOwnPropertyDescriptors(Object.prototype))
// console.log(obj.__proto__ === Object.prototype)
// console.log(Object.getOwnPropertyDescriptor(Object,"prototype"))

// [Object:null proyotype]{}
// 特殊1：该对象有原型属性，但是它的原型属性已经指向的是null，也就是已经是顶层原型了
// 特殊2：该对象上有很多默认的属性和方法
